from bs4 import BeautifulSoup

html_text = """<html>
    <head>
        <title>这是一个构造的测试页面</title>
    </head>
    <body>
        <p class="title">
            <b>页面标题</b>
        </p>
        <p class="story">这里给了几个网站：
			<a href="https://www.baidu.com" class="baidu index" id="link1">百度</a>,
			<a href="https://www.taobao.com" class="taobao" id="link2">淘宝</a>,
			<a href="https://www.jd.com" class="jindong" id="link3">京东</a>.
			<div>
				<a href="https://www.bilibili.com/" class="bilibili index" id="link4">哔哩哔哩</a>
			</div>
        </p>

        <p class="story">...</p>
    </body>
</html>"""

# 实例化一个解析对象
soup = BeautifulSoup(html_text, 'lxml')

# find默认匹配的是第一个满足条件的节点
# # 根据标签名匹配节点
# a_soup = soup.find(name='a')
# print(a_soup)

# # 使用标签名+id属性匹配节点
# a_soup = soup.find(name='a', id='link2')
# print(a_soup)

# # 使用标签名+class属性匹配节点，使用参数传class属性的时候，避免关键字冲突，需要传class_
# a_soup = soup.find(name='a', class_='taobao')
# print(a_soup)

# 使用标签名+class属性匹配节点，attrs中传参，class不需要特殊处理，同时满足atts匹配信息的才会被获取到
a_soup = soup.find(name='a', attrs={"class": 'taobao', "id": "link2"})
print(a_soup)